This invention relates in general to wireless communication systems, and more specifically to a method and apparatus in a wireless communication system for inserting, into a data stream, data for a near-real-time transmission that requires low latency, the data stream also serving a plurality of store-and-forward transmissions which do not require low latency.
Modern wireless messaging systems have evolved synchronous protocols, such as Motorola""s FLEX(trademark) family of protocols. Such protocols provide excellent battery life for portable receivers and allow high channel utilization, both desirable goals of a messaging system.
A trade-off in such protocols is that, when adjusted to provide long battery life and great channel utilization, they also generally provide high latency, i.e., high delay between message entry and message transmission. Certain near-real-time communications, however, cannot tolerate high latency.
Thus, what is needed is a protocol model that provides excellent battery life and high channel utilization for high-latency communications, while simultaneously allowing some low-latency communications to function in the same system.
An aspect of the present invention is a method in a wireless communication system for inserting, into a data stream, data for a near-real-time transmission having a duration and requiring low latency, the data stream also serving a plurality of store-and-forward transmissions which do not require low latency, without disrupting the data stream for longer than the duration. The method comprises the steps of queuing the plurality of store-and-forward transmissions in a corresponding plurality of blocks of data having a predetermined length, and sending the plurality of blocks of data to a transmitter. The method further comprises the steps of storing the plurality of blocks of data in the transmitter in preparation for transmission, and determining a need to transmit the data for the near-real-time transmission. The method also includes the step of replacing, at the transmitter, a block of the plurality of blocks of data that has been received but has not yet been transmitted, with the data for the near-real-time transmission, in response to the determining step.
Another aspect of the present invention is a controller in a wireless communication system for inserting, into a data stream, data for a near-real-time transmission having a duration and requiring low latency, the data stream also serving a plurality of store-and-forward transmissions which do not require low latency, without disrupting the data stream for longer than the duration. The controller comprises a communication interface for receiving the data for the near-real-time and store-and-forward transmissions, and a processing system coupled to the communication interface for processing the data. The controller further comprises an output interface coupled to the processing system for sending the data stream to a transmitter. The processing system is programmed to queue the plurality of store-and-forward transmissions in a corresponding plurality of blocks of data having a predetermined length, and to send the plurality of blocks of data to a transmitter. The processing system is further programmed to determine a need to transmit the data for the near-real-time transmission, and to cooperate with the transmitter to replace, at the transmitter, a block of the plurality of blocks of data that has been received but has not yet been transmitted, with the data for the near-real-time transmission, in response to the need.
Another aspect of the present invention is a transmitter in a wireless communication system for inserting, into a data stream, data for a near-real-time transmission having a duration and requiring low latency, the data stream also serving a plurality of store-and-forward transmissions which do not require low latency, without disrupting the data stream for longer than the duration. The transmitter comprises a communication interface for receiving the data for the near-real-time and store-and-forward transmissions, and a processing system coupled to the communication interface for processing the data. The transmitter further comprises a transmitter element coupled to the processing system for transmitting the data stream. The processing system is programmed to receive the plurality of store-and-forward transmissions in a corresponding plurality of blocks of data having a predetermined length, and to store the plurality of blocks of data in the transmitter in preparation for transmission. The processing system is further programmed to receive an indication of a need to transmit the data for the near-real-time transmission, along with the data for the near-real-time transmission, and to replace a block of the plurality of blocks of data that has been received but has not yet been transmitted, with the data for the near-real-time transmission, in response to the need.